package cn.rumoss.jvm.deep.oom;

/**
 * jdk1.6 false false
 * 	把首次遇到的字符串实例复制到永久代，返回的是永久代中的引用，StringBuffer分配在Java堆上
 * jdk1.7 true false
 * 	不会复制，只在常量池中记录首次出现的实例引用
 * jdk1.8 true true
 * @author xiaotang
 *
 */
public class StringInternDiff {

	public static void main(String[] args) {
		
		String str1 = new StringBuffer("计算机").append("软件").toString();
		System.out.println(str1.intern() ==  str1);
		
		// java不符合"首次出现"原则
		String str2 = new StringBuffer("ja").append("va").toString();
		System.out.println(str2.intern() == str2);
		
	}

}
